The present invention relates to testing of Integrated Circuits (ICs) and semiconductor devices by Automated Test Equipment (ATE).
During typical semiconductor manufacturing processes, ICs are tested to assure proper operation. The ATEs perform the necessary tests to ensure the quality, with ICs being the Device Under Test (DUT). Complex ICs these days are typically tested with the help of on-chip DFT (Designed for Test) including BIST (Built In Self Test) as well as some Built off Self Test structures (all hereinafter known as DFT structures) in conjunction with readily available ATE. Those DFT structures include various testing blocks for performing prescribed test processes. Devices with DFT structures can be classified into three categories:
1. Fully autonomous where the DUT just needs one or more power supplies and one or more clocks to have the testing enabled and subsequent data captured without further attention of the tester (operator) and/or the ATE.
2. Semi-autonomous where the DUT may need initial set up to start the test and may need subsequent attention of the tester (operator) and/or the ATE to receive the testing results. There may also be other intermediate actions arising from prescribed activity and requiring attention before testing is fully completed.
3. Non-autonomous, where the DUT needs constant attention of the tester (operator) and/or the ATE at regular intervals in order for the testing to be enabled, completed and the generated data captured.
In the currently known ATE architectures used in the test and measurement industry, test channels and needed ATE hardware and software are dedicated to the testing block under test for the entire test session of the block test via device pins. The resource allocation is defined before the test program is executed. The ATE software is designed to allow this kind of allocation of the test channels to the block via the device pins. As will be explained subsequently, this kind of ATE architecture leads to inefficient testing of DFT-oriented devices in terms: of lower ATE resource utilization, need for higher number of ATE resources, limiting efficient data collection, and inability to test certain types of devices concurrently with other devices.
The ever increasing pressure to reduce test cost demands reduction in the cost associated with ATE, which makes a significant portion of the overall test cost. The conventional ATE architectures are functionally capable of performing the necessary tests, however, their efficiency for testing DFT oriented devices is low as mentioned above. As will be explained, there are disadvantages for having the ATE resources constantly tied to the testing block under test until the testing block finishes its tests. The ATE resources include ATE hardware, ATE channels, ATE software for monitoring and/or controlling channel activity and for having prescribed test processes conducted and all other associated equipment and circuitry for having testing blocks operated for testing. In conventional ATE systems, the ATE resources are set up to have access via ATE data and ATE control channels to the ATE hardware and ATE software resources needed for monitoring and conducting all the testing activities for each testing block in the DUT, during the entire test session for that block.
FIG. 1 depicts a conventional test flow diagram 10 of activity blocks and steps for a conventional ATE system well known in the prior art for having a DUT enabled for testing. In conventional ATE systems, all of the testing blocks are prescheduled for testing. Briefly described, the ATE system begins at a Block 11 (marked with START) and moves to a Block 12 where set up is arranged (automatically, by an operator or a combination of both) for a first selected testing block. The ATE resources needed for that first selected testing block are assigned. The ATE system then moves to a Block 13 where the entire set up for having the selected testing block enabled for testing is arranged using the assigned ATE resources. The ATE system then moves to a Block 14 where the actual test is conducted for the testing block. The test results are subsequently collected (i.e., captured) as part of the activities in a Block 15. In some cases, e.g., scan test, the results collection can happen simultaneously with the stimulus application. Subsequently, the ATE system moves to a decision Block 16, where a check is made to determine if another prescheduled testing block is to be enabled for testing. If there is another prescheduled testing block, the ATE system moves along a path 20 (marked with a Y meaning Yes) to a Block 17 where that next scheduled testing block is selected. The ATE system then moves to the Block 12 and continues through the subsequent blocks as was done for the first selected testing block. This process is reiterated until all the testing activity for all the testing blocks have been completed which results in the ATE system moving along a path 21 (marked N meaning No) from the decision Block 16 to a Block 18 (marked DONE) where the ATE system stops its testing activities. In the conventional ATEs, the sequence in which the blocks are selected for testing with a set of associated resources is decided before the test execution begins.
FIG. 2 shows a block diagram of an exemplary and more detailed ATE system 30 known in the prior art and a graph 31 that depicts the corresponding test time impact. For ease of understanding and not for limitation, the ATE system 30 for this description is described with specifically limited features. The ATE system 30 is coupled to a DUT 32 which has four testing Blocks 33a-33d each having autonomous DFT structures that allow parallel testing of these blocks with each testing block running independently after set up. The DUT 32 can be a single IC die being tested or one die on a wafer containing many dice each containing DFT structures. For this description all the test Blocks 33a-33d require the same ATE hardware resources 34a-34d and applicable software resources 35 so that the ATE system 30 operates in accordance with the test flow diagram 10 shown in FIG. 1 for having each of the test Blocks 33a-33d enabled for testing.
If the testing is done one testing block at a time using conventional architectures, the total test time is:Total test time=s1+t1+r1+s2+t2+r2+s3+t3+r3+s4+t4+r4Where each # references the corresponding numbered testing block, the test set up time is s# for that testing block, the test time is t# for that testing block, and the time to read results is r# for that testing block.
In contrast, if each testing block was allowed to run in parallel after set up the total test times can be reduced to:Total test time=s1+s2+s3+s4+max(t1,t2,t3,t4)+r1+r2+r3+r4In this case setup and results collection are still sequential due to shared access to the block from the pins. However, after the setup the autonomous blocks can run the tests in parallel.
The parallel concept also applies to the multi-site case where, for example, each die (having one or more testing blocks) on a semiconductor wafer may not need the attention of the ATE system 30 all the time. However, for the conventional ATE architectures, the multi-site case still needs replication of ATE hardware and software resources (which increases the overall cost) even if the attention of the ATE system 30 is needed only a fraction of the total test time. Whereas in the present invention this is not the case, so long as the infrastructure exits to connect ATE resources dynamically to different blocks and/or dice during the test flow.
It is known in the prior art to make an infrastructure for connecting ATE hardware and software resources dynamically to multiple dies at different instances of time via associated data and control channels. So it is generally desirable to test a number of dice in parallel. Testing techniques have been proposed that enable parallel testing of multiple dice of a wafer with a single probe. Examples of such parallel schemes include those described in U.S. Pat. No. 6,426,904, entitled “Structures for Wafer Level Test and Burn-In” to Barth, et al, U.S. Pat. No. 6,275,051, entitled “Segmented Architecture for Wafer Test and Burn-In” to Bachelder, et al, U.S. Pat. No. 6,134,685, entitled “Package Parallel Test Method and Apparatus” to Spano, and U.S. Pat. No. 5,896,040, entitled “Configurable Probe Pads to Facilitate Parallel Testing of Integrated Circuit Devices” to Brannigan, et al.
However, in the above disclosures, the DUTs must be analyzed to determine a priori to identify which blocks may be tested in parallel since there may be blocks that are not suitable for parallel testing due to either device or ATE constraints. For example, even though the digital test blocks can be tested in parallel, if there are analog test blocks (such as for testing for radio frequency mutual interference), then those test blocks must be tested serially if analog resources are scarce. In addition, the conventional ATEs also require the resources to remain allocated to the block under test for the entire duration of the test of that block. As a result, the conventional architectures do not exploit the autonomous nature of DFT blocks to leverage the full potential of parallel testing.